2. Weight Initialization
Weights need initial values before training starts.
Poor initialization can cause:
- Vanishing gradients
- Exploding gradients
- Slow or unstable training
Common Initialization Techniques
| Xavier/Glorot | Commonly used with Sigmoid/Tanh |
|---|---|
| He/Kaiming | Commonly used with ReLU |
He Initialization
Designed for ReLU networks to keep activations from becoming too small or large.
nn.init.kaiming_normal_(model.linear1.weight, nonlinearity="relu")
Xavier Initialization
Commonly used with Sigmoid or Tanh activations.
nn.init.xavier_normal_(model.linear1.weight)
Actual Implementation Full code
Code Block